/// YApi QuickType插件生成，具体参考文档:https://plugins.jetbrains.com/plugin/18847-yapi-quicktype/documentation

import 'dart:convert';

HomeDataDto homeDataDtoFromJson(String str) => HomeDataDto.fromJson(json.decode(str));

String homeDataDtoToJson(HomeDataDto data) => json.encode(data.toJson());

class HomeDataDto {
    HomeDataDto({
        required this.shopActivity,
        required this.task,
        required this.job,
        required this.article,
        required this.story,
    });

    List<ShopActivity> shopActivity;
    List<Task> task;
    List<Job> job;
    List<Article> article;
    List<Article> story;

    factory HomeDataDto.fromJson(Map<dynamic, dynamic> json) => HomeDataDto(
        shopActivity: List<ShopActivity>.from(json["shopActivity"].map((x) => ShopActivity.fromJson(x))),
        task: List<Task>.from(json["task"].map((x) => Task.fromJson(x))),
        job: List<Job>.from(json["job"].map((x) => Job.fromJson(x))),
        article: List<Article>.from(json["article"].map((x) => Article.fromJson(x))),
        story: List<Article>.from(json["story"].map((x) => Article.fromJson(x))),
    );

    Map<dynamic, dynamic> toJson() => {
        "shopActivity": List<dynamic>.from(shopActivity.map((x) => x.toJson())),
        "task": List<dynamic>.from(task.map((x) => x.toJson())),
        "job": List<dynamic>.from(job.map((x) => x.toJson())),
        "article": List<dynamic>.from(article.map((x) => x.toJson())),
        "story": List<dynamic>.from(story.map((x) => x.toJson())),
    };
}

class Article {
    Article({
        required this.keywords,
        required this.copySite,
        required this.source,
        required this.type,
        required this.title,
         this.categoryName,
        required this.content,
        required this.showType,
        required this.id,
         this.createTimeText,
        required this.views,
         this.summary,
        required this.comm,
         this.dateStr,
        required this.author,
        required this.copyUrl,
        required this.createTime,
         this.categoryId,
        this.pathName,
        this.imgUrl,
        this.fileType,
        this.videoUrl,
    });

    String keywords;
    String copySite;
    String source;
    int type;
    String title;
    String? categoryName;
    String? videoUrl;
    String content;
    String showType;
    String id;
    String? createTimeText;
    String views;
    String? summary;
    String? comm;
    String? dateStr;
    String author;
    String copyUrl;
    String createTime;
    String? categoryId;
    String? pathName;
    String? imgUrl;
    String? fileType;

    factory Article.fromJson(Map<dynamic, dynamic> json) => Article(
        keywords: json["keywords"],
        copySite: json["copySite"],
        source: json["source"],
        type: json["type"],
        title: json["title"],
        categoryName: json["categoryName"],
        content: json["content"],
        showType: json["showType"],
        id: json["id"],
        createTimeText: json["createTimeText"],
        views: json["views"],
        summary: json["summary"],
        comm: json["comm"],
        dateStr: json["dateStr"],
        author: json["author"],
        copyUrl: json["copyUrl"],
        createTime: json["createTime"],
        categoryId: json["categoryId"],
        pathName: json["pathName"],
        imgUrl: json["imgUrl"],
        fileType: json["fileType"],
        videoUrl: json["videoUrl"],
    );

    Map<dynamic, dynamic> toJson() => {
        "keywords": keywords,
        "copySite": copySite,
        "source": source,
        "type": type,
        "title": title,
        "categoryName": categoryName,
        "content": content,
        "showType": showType,
        "id": id,
        "createTimeText": createTimeText,
        "views": views,
        "summary": summary,
        "comm": comm,
        "dateStr": dateStr,
        "author": author,
        "copyUrl": copyUrl,
        "createTime": createTime,
        "categoryId": categoryId,
        "pathName": pathName,
        "imgUrl": imgUrl,
        "fileType": fileType,
    };
}

class Job {
    Job({
        required this.publishTime,
        required this.annexList,
        required this.isRead,
        required this.description,
        required this.updateTime,
        required this.title,
        required this.type,
        required this.userName,
        required this.content,
        required this.userHeadImg,
        required this.jobId,
        required this.createBy,
        required this.createTime,
        required this.idcard,
        required this.id,
        required this.isDel,
    });

    String publishTime;
    List<AnnexList> annexList;
    int isRead;
    String description;
    int updateTime;
    String title;
    int type;
    String userName;
    String content;
    String userHeadImg;
    String jobId;
    String createBy;
    int createTime;
    String idcard;
    String id;
    int isDel;

    factory Job.fromJson(Map<dynamic, dynamic> json) => Job(
        publishTime: json["publishTime"],
        annexList: List<AnnexList>.from(json["annexList"].map((x) => AnnexList.fromJson(x))),
        isRead: json["isRead"],
        description: json["description"],
        updateTime: json["updateTime"],
        title: json["title"],
        type: json["type"],
        userName: json["userName"],
        content: json["content"],
        userHeadImg: json["userHeadImg"],
        jobId: json["jobId"],
        createBy: json["createBy"],
        createTime: json["createTime"],
        idcard: json["idcard"],
        id: json["id"],
        isDel: json["isDel"],
    );

    Map<dynamic, dynamic> toJson() => {
        "publishTime": publishTime,
        "annexList": List<dynamic>.from(annexList.map((x) => x.toJson())),
        "isRead": isRead,
        "description": description,
        "updateTime": updateTime,
        "title": title,
        "type": type,
        "userName": userName,
        "content": content,
        "userHeadImg": userHeadImg,
        "jobId": jobId,
        "createBy": createBy,
        "createTime": createTime,
        "idcard": idcard,
        "id": id,
        "isDel": isDel,
    };
}

class AnnexList {
    AnnexList({
        required this.path,
        required this.createBy,
        required this.size,
        required this.createTime,
        required this.name,
        required this.updateTime,
        required this.id,
        required this.sort,
        required this.type,
        required this.isDel,
        required this.jobReportId,
    });

    String path;
    String createBy;
    String size;
    int createTime;
    String name;
    int updateTime;
    String id;
    int sort;
    String type;
    int isDel;
    String jobReportId;

    factory AnnexList.fromJson(Map<dynamic, dynamic> json) => AnnexList(
        path: json["path"],
        createBy: json["createBy"],
        size: json["size"],
        createTime: json["createTime"],
        name: json["name"],
        updateTime: json["updateTime"],
        id: json["id"],
        sort: json["sort"],
        type: json["type"],
        isDel: json["isDel"],
        jobReportId: json["jobReportId"],
    );

    Map<dynamic, dynamic> toJson() => {
        "path": path,
        "createBy": createBy,
        "size": size,
        "createTime": createTime,
        "name": name,
        "updateTime": updateTime,
        "id": id,
        "sort": sort,
        "type": type,
        "isDel": isDel,
        "jobReportId": jobReportId,
    };
}

class ShopActivity {
    ShopActivity({
        required this.description,
        required this.shopName,
        required this.updateTime,
        required this.lon,
        required this.title,
        required this.createTime,
        required this.shopImg,
        required this.id,
        required this.shopId,
        required this.lat,
        required this.info,
    });

    String description;
    String shopName;
    int updateTime;
    String lon;
    String title;
    int createTime;
    String shopImg;
    String id;
    String shopId;
    String lat;
    String info;

    factory ShopActivity.fromJson(Map<dynamic, dynamic> json) => ShopActivity(
        description: json["description"],
        shopName: json["shopName"],
        updateTime: json["updateTime"],
        lon: json["lon"],
        title: json["title"],
        createTime: json["createTime"],
        shopImg: json["shopImg"],
        id: json["id"],
        shopId: json["shopId"],
        lat: json["lat"],
        info: json["info"],
    );

    Map<dynamic, dynamic> toJson() => {
        "description": description,
        "shopName": shopName,
        "updateTime": updateTime,
        "lon": lon,
        "title": title,
        "createTime": createTime,
        "shopImg": shopImg,
        "id": id,
        "shopId": shopId,
        "lat": lat,
        "info": info,
    };
}

class Task {
    Task({
        required this.address,
        required this.distance,
        required this.isAccept,
        required this.lon,
        required this.isFinish,
        required this.title,
        required this.taskType,
        required this.createTime,
        required this.startTime,
        required this.id,
        required this.endTime,
        required this.taskTypeStr,
        required this.isAcceptStr,
        required this.lat,
        required this.info,
        required this.status,
    });

    String address;
    double distance;
    String isAccept;
    String lon;
    String isFinish;
    String title;
    String taskType;
    String createTime;
    String startTime;
    String id;
    String endTime;
    String? taskTypeStr;
    String? isAcceptStr;
    String lat;
    String info;
    String status;

    factory Task.fromJson(Map<dynamic, dynamic> json) => Task(
        address: json["address"],
        distance: json["distance"],
        isAccept: json["isAccept"],
        lon: json["lon"],
        isFinish: json["isFinish"],
        title: json["title"],
        taskType: json["taskType"],
        createTime: json["createTime"],
        startTime: json["startTime"],
        id: json["id"],
        endTime: json["endTime"],
        taskTypeStr: json["taskTypeStr"],
        isAcceptStr: json["isAcceptStr"],
        lat: json["lat"],
        info: json["info"],
        status: json["status"],
    );

    Map<dynamic, dynamic> toJson() => {
        "address": address,
        "distance": distance,
        "isAccept": isAccept,
        "lon": lon,
        "isFinish": isFinish,
        "title": title,
        "taskType": taskType,
        "createTime": createTime,
        "startTime": startTime,
        "id": id,
        "endTime": endTime,
        "taskTypeStr": taskTypeStr,
        "isAcceptStr": isAcceptStr,
        "lat": lat,
        "info": info,
        "status": status,
    };
}
